<template>
    <div class="workbench">
        <div class="lg:flex">
            <el-card class="!border-none mb-4 lg:mr-4 lg:w-[350px]" shadow="never">
                <template #header>
                    <span class="card-title">{{ $t('版本信息') }}</span>
                </template>
                <div>
                    <div class="flex leading-9">
                        <div class="w-20">{{ $t('当前版本') }}</div>
                        <span> {{ workbenchData.version.version }}</span>
                    </div>
                    <div class="flex leading-9">
                        <div class="w-20">{{ $t('基于框架') }}</div>
                        <span> {{ workbenchData.version.based }}</span>
                    </div>
                </div>
            </el-card>
            <el-card class="!border-none mb-4 flex-1" shadow="never">
                <template #header>
                    <div>
                        <span class="card-title">{{ $t('今日数据') }}</span>
                        <span class="text-tx-secondary text-xs ml-4">
                            {{ $t('更新时间') }}：{{ workbenchData.today.time }}
                        </span>
                    </div>
                </template>

                <div class="flex flex-wrap">
                    <div class="w-1/2 md:w-1/4">
                        <div class="leading-10">{{ $t('访问量') }}</div>
                        <div class="text-6xl">{{ workbenchData.today.today_visitor }}</div>
                        <div class="text-tx-secondary text-xs">
                            {{ $t('总访问量') }}：{{ workbenchData.today.total_visitor }}
                        </div>
                    </div>
                    <div class="w-1/2 md:w-1/4">
                        <div class="leading-10">{{ $t('销售额') }}</div>
                        <div class="text-6xl">{{ workbenchData.today.today_sales }}</div>
                        <div class="text-tx-secondary text-xs">
                            {{ $t('总销售额') }}：{{ workbenchData.today.total_sales }}
                        </div>
                    </div>
                    <div class="w-1/2 md:w-1/4">
                        <div class="leading-10">{{ $t('订单量') }}</div>
                        <div class="text-6xl">{{ workbenchData.today.order_num }}</div>
                        <div class="text-tx-secondary text-xs">
                            {{ $t('总订单量') }}：{{ workbenchData.today.order_sum }}
                        </div>
                    </div>
                    <div class="w-1/2 md:w-1/4">
                        <div class="leading-10">{{ $t('新增用户') }}</div>
                        <div class="text-6xl">{{ workbenchData.today.today_new_user }}</div>
                        <div class="text-tx-secondary text-xs">
                            {{ $t('总访用户') }}：{{ workbenchData.today.total_new_user }}
                        </div>
                    </div>
                </div>
            </el-card>
        </div>
        <div class="md:flex">
            <el-card class="flex-1 !border-none md:mr-4 mb-4" shadow="never">
                <template #header>
                    <span>{{ $t('访问量趋势图') }}</span>
                </template>
                <div>
                    <v-charts style="height: 350px" :option="workbenchData.visitorOption" :autoresize="true" />
                </div>
            </el-card>
        </div>
    </div>
</template>

<script lang="ts" setup name="workbench">
import { getWorkbench } from '@/api/app'
import { useI18n } from 'vue-i18n'
const { t } = useI18n()

import vCharts from 'vue-echarts'
// 表单数据
const workbenchData: any = reactive({
    version: {
        version: '', // 版本号
        website: '', // 官网
        based: ''
    },
    today: {}, // 今日数据
    visitor: [], // 访问量
    article: [], // 文章阅读量

    visitorOption: {
        xAxis: {
            type: 'category',
            data: [0]
        },
        yAxis: {
            type: 'value'
        },
        legend: {
            data: [t('访问量')]
        },
        itemStyle: {
            // 点的颜色。
            color: 'red'
        },
        tooltip: {
            trigger: 'axis'
        },
        series: [
            {
                name: t('访问量'),
                data: [0],
                type: 'line',
                smooth: true
            }
        ]
    }
})

// 获取工作台主页数据
const getData = () => {

    getWorkbench()
        .then((res: any) => {
            workbenchData.version = res.version
            workbenchData.today = res.today
            workbenchData.visitor = res.visitor

            // 清空echarts 数据
            workbenchData.visitorOption.xAxis.data = []
            workbenchData.visitorOption.series[0].data = []

            // 写入从后台拿来的数据
            res.visitor.date.reverse().forEach((item: any) => {
                workbenchData.visitorOption.xAxis.data.push(item)
            })
            res.visitor.list[0].data.forEach((item: any) => {
                workbenchData.visitorOption.series[0].data.push(item)
            })
        })
        .catch((err: any) => {
            console.log('err', err)
        })
}

onMounted(() => {
    getData()
})
</script>

<style lang="scss" scoped></style>
